﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Flitter.Properties;

namespace Flitter.Twitter
{
    //this allows us to use either the status api from twitter or the user api
    //slightly goofy wrapping, but that's the conquence of xsd.exe
    /// <summary>
    /// 最終的にContentPresenterにバインドされるオブジェクトです。
    /// </summary>
    public class StatusWrapper
    {
        private StatusesStatus statusS;

        public StatusWrapper(StatusesStatus s)
        {
            statusS = s;

            usersUserStatus u = new usersUserStatus();
            u.text = statusS.text;
            u.created_at = statusS.created_at;
            this._status = new usersUserStatus[] { u };
        }

        private usersUserStatus[] _status;
        /// <summary>
        /// Twitterのステータスを取得します。
        /// </summary>
        public usersUserStatus[] status
        {
            get { return _status; }
            set { _status = value; }
        }

        /// <summary>
        /// ステータスの背景色を取得します。
        /// </summary>
        public String BackColor {
            get { return Settings.Default.ColorBackground; }
        }

        /// <summary>
        /// ステータスの前景色を取得します。
        /// </summary>
        public String ForeColor
        {
            get { return Settings.Default.ColorForeground; }
        }

        /// <summary>
        /// ステータスのアイコンフレームの色を取得します。
        /// </summary>
        public String FrameColor
        {
            get { return Settings.Default.ColorFrame; }
        }

        /// <summary>
        /// ユーザーアイコンのURLを取得します。
        /// </summary>
        public string profile_image_url
        {
            get
            {
                return statusS.user.profile_image_url;
            }
        }

        /// <summary>
        /// ユーザー名（スクリーン名）を取得します。
        /// </summary>
        public string screen_name
        {
            get
            {
                return statusS.user.screen_name;
            }
        }
    }
}
